/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package testepm0071;

import java.text.ParseException;

/**
 *
 * @author Thiago AC
 */
public class Lending {

    private Pessoa solicitante;    

    Lending (Pessoa p){
        this.solicitante = p;
    }

    

    public int checkFaixaEtaria (Pessoa p) throws ParseException{
        String sexo;
        sexo = Character.toString(p.getSexo());
        int idade = p.idade(p);

        /*pos[0] no vetor = IdadeMinima
         Ultima pos = IdadeMaxima */

        int[] idadesH = {18,35,45,56};
        int[] idadesM = {18,30,40,51};

        if ( (idade > idadesH[idadesH.length - 1]) ||
                (idade > idadesM[idadesM.length - 1]) ) return -2;
        if ( (idade < idadesH[0]) || 
                (idade < idadesM[0]) ) return -1;

        int faixaEtaria = -3;

        /*Homens*/
        if (sexo.equalsIgnoreCase("M")){

            for (int i=0; i<idadesH.length; i++) {
                if (idade <= idadesH[i]) {
                    faixaEtaria = i;                    
                    break;
                }
            }          
        }

        /*Mulheres*/
        if (sexo.equalsIgnoreCase("F")){
            for (int i=0; i<idadesM.length; i++) {
                if (idade <= idadesM[i]) {
                    faixaEtaria = i;
                    break;
                }                
            }           
        }
        
        if (faixaEtaria == 0) faixaEtaria = 1;   
        return faixaEtaria;

    }

    public double checkMaxLending (Pessoa p) throws ParseException{
        String sexo;
        sexo = Character.toString(p.getSexo());
        double salario = p.getSalario();
        Lending requerente = new Lending(p);
        int faixaEtaria = requerente.checkFaixaEtaria(p);

        double MaxLending = 0;

        if (faixaEtaria == 0) MaxLending = 0;

        if (sexo.equalsIgnoreCase("M")){
            if (faixaEtaria == 1){
                if (salario > 5000) MaxLending = (0.75*salario);
                else return (0.70*salario);
            }
            if (faixaEtaria == 2){
                if (salario > 6000) MaxLending = (0.6*salario);
                else MaxLending = (0.55*salario);
            }
            if (faixaEtaria == 3){
                MaxLending = (0.3*salario);
            }
        }

        if (sexo.equalsIgnoreCase("F")){
            if (faixaEtaria == 1){
               MaxLending = (0.70*salario);
            }
            if (faixaEtaria == 2){
               MaxLending = (0.50*salario);
            }
            if (faixaEtaria == 3){
                MaxLending = (0.35*salario);
            }
        }
        
        return MaxLending;

    }

    /**
     * @return the solicitante
     */
    public Pessoa getSolicitante() {
        return solicitante;
    }

    /**
     * @param solicitante the solicitante to set
     */
    public void setSolicitante(Pessoa solicitante) {
        this.solicitante = solicitante;
    }





}
